GtkBox: Fix self-assignment for center widget
authorMatthias Clasen <mclasen@redhat.com>
Sun, 26 Oct 2014 00:27:18 +0000 (20:27 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 26 Oct 2014 00:30:08 +0000 (20:30 -0400)
This is happening when glade is loading ui files containing
center widgets.

gtk/gtkbox.c

index 72f26e94cd921bccc79c453e937b20647394a6df..2fb1c0d0c7386b46c3dba789835ecebdef6939f8 100644 (file)
@@ -2616,17 +2616,22 @@ gtk_box_set_center_widget (GtkBox    *box,
                            GtkWidget *widget)
 {
   GtkBoxPrivate *priv = box->priv;
+  GtkWidget *old_center = NULL;
 
   g_return_if_fail (GTK_IS_BOX (box));
 
   if (priv->center)
     {
+      old_center = g_object_ref (priv->center->widget);
       gtk_box_remove (GTK_CONTAINER (box), priv->center->widget);
       priv->center = NULL;
     }
 
   if (widget)
     priv->center = gtk_box_pack (box, widget, FALSE, TRUE, 0, GTK_PACK_START);
+
+  if (old_center)
+    g_object_unref (old_center);
 }
 
 /**